From 51aba3699128c2192c5d40c5860eae6dae6148d6 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Thu, 15 Mar 2007 19:58:00 +0000 Subject: [PATCH] Remove unused GError; do not allocate GtkRecentData and use a variable on 2007-03-15 Emmanuele Bassi * gtk/gtkrecentmanager.c (gtk_recent_manager_add_item): Remove unused GError; do not allocate GtkRecentData and use a variable on the stack. (#418673, Morten Welinder) svn path=/trunk/; revision=17525 --- ChangeLog | 6 +++++ gtk/gtkrecentmanager.c | 51 ++++++++++++++++++++---------------------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50c4cdf5cd..809dc576fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-03-15 Emmanuele Bassi + + * gtk/gtkrecentmanager.c (gtk_recent_manager_add_item): Remove + unused GError; do not allocate GtkRecentData and use a variable + on the stack. (#418673, Morten Welinder) + 2007-03-15 Emmanuele Bassi * gtk/gtkaction.[ch]: Add GtkActionClass::get_submenu() vfunc: diff --git a/gtk/gtkrecentmanager.c b/gtk/gtkrecentmanager.c index d27e377603..cc52a02ed6 100644 --- a/gtk/gtkrecentmanager.c +++ b/gtk/gtkrecentmanager.c @@ -835,18 +835,16 @@ gboolean gtk_recent_manager_add_item (GtkRecentManager *manager, const gchar *uri) { - GtkRecentData *recent_data; - GError *add_error; + GtkRecentData recent_data; gboolean retval; g_return_val_if_fail (GTK_IS_RECENT_MANAGER (manager), FALSE); g_return_val_if_fail (uri != NULL, FALSE); - recent_data = g_slice_new (GtkRecentData); - - recent_data->display_name = NULL; - recent_data->description = NULL; - + recent_data.display_name = NULL; + recent_data.description = NULL; + recent_data.mime_type = NULL; + #ifdef G_OS_UNIX if (has_case_prefix (uri, "file:/")) { @@ -854,34 +852,33 @@ gtk_recent_manager_add_item (GtkRecentManager *manager, const gchar *mime_type; filename = g_filename_from_uri (uri, NULL, NULL); - mime_type = xdg_mime_get_mime_type_for_file (filename, NULL); - if (!mime_type) - recent_data->mime_type = g_strdup (GTK_RECENT_DEFAULT_MIME); - else - recent_data->mime_type = g_strdup (mime_type); + if (filename) + { + mime_type = xdg_mime_get_mime_type_for_file (filename, NULL); + if (mime_type) + recent_data.mime_type = g_strdup (mime_type); - g_free (filename); + g_free (filename); + } + + if (!recent_data.mime_type) + recent_data.mime_type = g_strdup (GTK_RECENT_DEFAULT_MIME); } else #endif - recent_data->mime_type = g_strdup (GTK_RECENT_DEFAULT_MIME); - - recent_data->app_name = g_strdup (g_get_application_name ()); - recent_data->app_exec = g_strjoin (" ", g_get_prgname (), "%u", NULL); + recent_data.mime_type = g_strdup (GTK_RECENT_DEFAULT_MIME); - recent_data->groups = NULL; + recent_data.app_name = g_strdup (g_get_application_name ()); + recent_data.app_exec = g_strjoin (" ", g_get_prgname (), "%u", NULL); + recent_data.groups = NULL; + recent_data.is_private = FALSE; - recent_data->is_private = FALSE; + retval = gtk_recent_manager_add_full (manager, uri, &recent_data); - add_error = NULL; - retval = gtk_recent_manager_add_full (manager, uri, recent_data); - - g_free (recent_data->mime_type); - g_free (recent_data->app_name); - g_free (recent_data->app_exec); + g_free (recent_data.mime_type); + g_free (recent_data.app_name); + g_free (recent_data.app_exec); - g_slice_free (GtkRecentData, recent_data); - return retval; } -- 2.30.2